Skip to content

Develop#181

Merged
farukvukovic merged 3 commits into
masterfrom
develop
Jun 23, 2026
Merged

Develop#181
farukvukovic merged 3 commits into
masterfrom
develop

Conversation

@farukvukovic

@farukvukovic farukvukovic commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Merge Develop to Master which includes:

#7075 — Fix ticket pinning
#7077 — Fix kanban board ticket search
#7093 — Fix All Timesheets dropdown text color on dark theme

Please check options that are relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Please describe the tests cases written to verify your changes. Feel free to include test cases that haven't been covered in this PR, but should be covered in a future PR.

  • Test A
  • Test B

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

Summary by CodeRabbit

  • New Features

    • Added support for pinned tickets in Kanban board with intelligent sorting and pagination.
    • Enhanced search with empty state hints and instructional text to guide users.
  • UI/UX Improvements

    • Improved Kanban search interface with helper messaging.
    • Refined timesheet page layout and styling.
    • Expanded dark mode support across components.
    • Enhanced dropdown and checkbox styling consistency.

@farukvukovic farukvukovic self-assigned this Jun 23, 2026
@farukvukovic farukvukovic added the enhancement New feature or request label Jun 23, 2026
@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a6518c9f-7e7c-468c-97d8-b01357222663

📥 Commits

Reviewing files that changed from the base of the PR and between 0ef7e71 and 2c15efe.

📒 Files selected for processing (11)
  • app/Domain/Tickets/Js/ticketsController.js
  • app/Domain/Tickets/Repositories/Tickets.php
  • app/Domain/Tickets/Services/Tickets.php
  • app/Domain/Tickets/Templates/partials/kanbanTicketCard.tpl.php
  • app/Domain/Tickets/Templates/submodules/kanbanSearchBar.sub.php
  • app/Domain/Timesheets/Templates/showAll.tpl.php
  • app/Language/en-US.ini
  • public/assets/css/components/modernSearch.css
  • public/assets/js/app/core/modernSearch.js
  • public/assets/js/app/tickets/kanbanSearch.js
  • public/theme/default/css/custom.css

📝 Walkthrough

Walkthrough

This PR extends kanban column queries with pinned-ticket rank ordering and cursor-based pagination that carries the pinned rank through progressive loading. Kanban search is switched from client-side filtering to server-side URL navigation with an empty-state "press Enter" hint in the modernSearch autocomplete. Separately, the timesheets project filter dropdown is restyled from inline styles to CSS class rules with dark/light mode theming.

Changes

Kanban: pinned ordering + server-side search

Layer / File(s) Summary
Pinned rank card data contract
app/Domain/Tickets/Templates/partials/kanbanTicketCard.tpl.php
Card template conditionally adds pinned-ticket class and emits data-kanban-pinned-rank (0 for pinned, 1 for unpinned, or explicit pinnedRank).
Repository pinned-rank query and cursor pagination
app/Domain/Tickets/Repositories/Tickets.php
Builds a CASE WHEN id IN (pinnedTicketIds) THEN 0 ELSE 1 rank expression in the inner select, adds a three-field cursor HAVING clause (pinnedRank, kanbanSortIndex, id), updates ORDER BY to sort by pinnedRank first, and binds all new parameters.
Service + controller pinned cursor wiring
app/Domain/Tickets/Services/Tickets.php, app/Domain/Tickets/Js/ticketsController.js
Service injects afterPinnedRank and pinnedTicketIds into search criteria; controller reads data-kanban-pinned-rank from the last loaded card and appends afterPinnedRank to the progressive-load AJAX payload.
Server-side kanban search with empty-state hint
public/assets/js/app/tickets/kanbanSearch.js, public/assets/js/app/core/modernSearch.js, public/assets/css/components/modernSearch.css, app/Language/en-US.ini, app/Domain/Tickets/Templates/submodules/kanbanSearchBar.sub.php
kanbanSearch.js adds submitServerSearch (sets ?term= and redirects); replaces all applyFilter callbacks with server navigation. modernSearch.js gains showHintWhenEmpty/emptyStateHint options that render a .modern-search-empty-hint element. Translation key and search bar template wiring complete the hint feature.

Timesheets project filter dropdown styling

Layer / File(s) Summary
Timesheets template inline style cleanup
app/Domain/Timesheets/Templates/showAll.tpl.php
Removes inline visual styles from dropdown toggle, checkbox panel, and per-project labels; replaces hover JS handlers with a CSS class; moves overflow-x:auto from maincontentinner wrapper to the table wrapper.
Project dropdown CSS theming rules
public/theme/default/css/custom.css
Adds .project-dropdown-toggle to light-mode text color selectors for all color schemes and dark mode; introduces themeDefault and colorMode-dark rules for checkbox dropdown background, border, radius, box-shadow, hover color, padding, and height on maincontentinner.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 Hop hop, the pinned cards float to the top,
No more client-side filter—server says "stop!"
Press Enter to search, a hint guides the way,
Dark mode dropdowns gleam in the fray.
The bunny rearranged the ranks with delight,
Now kanban columns sort everything right! 🥕

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch develop

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install failed. For unrecoverable errors, disable the tool in CodeRabbit configuration.


Comment @coderabbitai help to get the list of available commands.

@farukvukovic
farukvukovic merged commit d96e4ee into master Jun 23, 2026
3 of 7 checks passed
@farukvukovic
farukvukovic deleted the develop branch June 23, 2026 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant